<!DOCTYPE HTML>
<html>
<head>
    <title>MINIMMORTS HTML5 bot</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="js/constants.js"></script>
    <script type="text/javascript" src="js/resources.js"></script>
    <script type="text/javascript" src="js/routines.js"></script>
    <script type="text/javascript" src="js/Camera.js"></script>
    <script type="text/javascript" src="js/Unit.js"></script>
    <script type="text/javascript" src="js/SpriteLoader.js"></script>
    <script type="text/javascript" src="js/Map.js"></script>
    <script type="text/javascript" src="js/Movement.js"></script>
    <script type="text/javascript" src="js/MovementManager.js"></script>
    <script type="text/javascript" src="js/messages.js"></script>
    <script type="text/javascript" src="js/ServerInteraction.js"></script>
    <script type="text/javascript" src="js/Sprite.js"></script>
    <script type="text/javascript" src="js/SpriteMovement.js"></script>
    <script type="text/javascript" src="js/ActionManager.js"></script>
    <script type="text/javascript" src="js/Point.js"></script>
    <script type="text/javascript" src="js/SpriteMovementAnimation.js"></script>
    <script type="text/javascript" src="js/PathCache.js"></script>
    <script type="text/javascript" src="js/Follow.js"></script>
</head>
<body>

<script type="text/javascript">

/*************************
 * Служебные переменные. *
 *************************/

/**
 * Включение дебага протокола обмена данными с сервером.
 */
var DEBUG_PROTOCOL = false;

/**
 * Включение дебага юнитов.
 */
var DEBUG_UNITS = false;

/**
 * Включение дебага движения.
 */
var DEBUG_MOVEMENTS = false;

/**
 * Включение дебага преследования.
 */
var DEBUG_FOLLOW = false;

/**
 * Список юнитов, принадлежащих клиенту.
 */
var self_units_list = new Array();

/**
 * Список юнитов.
 */
var units_list = new Array();

/**
 * Карта.
 */
var map;

/**
 * Сервер.
 */
var server;

/**
 * Камера. В её объекиве находится место, которое будет нарисовано на основном холсте.
 */
var camera;

/**
 * Камера свободна или привязана к своему игроку.
 */
var is_camera_free = false;

/**
 * Номер текущего хода.
 */
var step;

/**
 * Id этого клиента.
 */
var clientId;

/**
 * Выделенные юниты.
 */
var selected_units = new Array();

/**
 * Клетка начала выделения.
 */
var selections_beg;

/**
 * Прямоугольник выделения.
 */
var selection_rect = null;

/**
 * Менеджер движения.
 */
var movementManager = new MovementManager();

/**
 * Менеджер действий.
 */
var actionManager = new ActionManager();

/**
 * Включает плавное движение юнитов.
 */
var smoothMovementEnabled = true;

/**
 * Таймер цикла пинга сервера.
 */
var pingTimer = null;

/**
 * Таймер цикла с AI бота.
 */
var aiTimer = null;

/**
 * Таймер переподключения.
 */
var reconnectTimer = null;

/**
 * Таймер подключения.
 */
var connectTimer = null;

/**
 * Включает переподключение при разрыве связи с сервером.
 */
var autoReconnect = true;

/*
 * Вероятность того, что бот проигнорирует сообщение CONFIRM от сервера. Это
 * нужно для эмуляции лагов клиента. null означает, что игнорирование выключено.
 */
var ignoreConfirmProbability = 300;

/*
 * Вероятность того, что бот переподключится к серверу. null означает, что
 * переподключение выключено.
 */
var reconnectProbability = 300;

var followProbability = 20;

/**
 * Время начала текущего хода.
 */
var stepBegTime = null;

/**
 * Длительность предыдущего хода в миллисекундах.
 */
var prevStepTime = null;

/**
 * Пинг до сервера.
 */
var ping = null;

/**
 * Время начала первой итерации цикла рисования.
 */
var drawBegTime = null;

/**
 * Текущее количество итераций цикла рисования.
 */
var redraws = 0;
    
/**
 * Кеш путей.
 */
var pathCache = new PathCache();

/**
 * Использовать кеш путей.
 */
var usePathCache = true;

var scrollBarsHovered = {
    left: false,
    top: false,
    right: false,
    bottom: false
}

var camFollowEnabled = false;

var followings = [];

var followingsTimer = null;

var followingEnabled = false;

</script>

<script type="text/javascript">
connect();
</script>

</body>
</html>
